#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>

int main()
{
    umask(0);//关闭掩码
    //输入重定向
    int fd = open("log.txt",O_RDONLY);
    if(fd<0) exit(1);
    dup2(fd,0);
    close(fd);
    while(1)
    {
        char buffer[64];
        if(!fgets(buffer,sizeof(buffer),stdin)) break;
        printf("%s",buffer);
    }
    //int fd = open("log.txt",O_CREAT |O_WRONLY |O_TRUNC,0666);//系统的权限需要自己设置
    //if(fd<0) exit(1);
    //int fd = open("log.txt",O_CREAT |O_WRONLY |O_TRUNC,0666);//系统的权限需要自己设置
   //int fd = open("log.txt",O_CREAT |O_WRONLY |O_APPEND,0666);//系统的权限需要自己设置
    // int fd = open("log.txt",O_RDONLY);
    // 
    // if(fd<0) {
    //     perror("open");
    //     return 1;
    //}
    //printf("fd :%d\n",fd);
    //while(1)
    //{
    //    char buffer[64];
    //    int n = read(fd,buffer,sizeof(buffer)-1);
    //    if(n>0)
    //    {
    //        buffer[0] = 0;
    //        printf("%s",buffer);
    //    }
    //    else if(n==0)
    //    {
    //        break;
    //    }
    //}
   // const char* msg = "abcd";
   // int cnt = 5;
   // while(cnt)
   // {
   //     //当做字符来写
   //     write(fd,msg,strlen(msg));
   //     cnt--;
   // }
    close(fd);
    return 0;
}
